home *** CD-ROM | disk | FTP | other *** search
- extrn v86r_eax:dword, v86r_ebx:dword, v86r_ecx:dword, v86r_edx:dword
- extrn v86r_esi:dword, v86r_edi:dword, v86r_ebp:dword
- extrn v86r_ah:byte, v86r_al:byte, v86r_bh:byte, v86r_bl:byte
- extrn v86r_ch:byte, v86r_cl:byte, v86r_dh:byte, v86r_dl:byte
- extrn v86r_ax:word, v86r_bx:word, v86r_cx:word, v86r_dx:word
- extrn v86r_si:word, v86r_di:word, v86r_bp:word
- extrn v86r_ds:word, v86r_es:word, v86r_fs:word, v86r_gs:word
- extrn _selcode:word, _seldata:word, _selzero:word, _lomembase:dword
- extrn _lomemtop:dword, _himembase:dword, _himemtop:dword, _pspa:dword
- extrn _code16a:dword, _code32a:dword, _getirqvect:dword, _setirqvect:dword
- extrn _sysbyte0:byte, _irqmode:word, _setselector:dword
-
- extrn _getmem:near, _getlomem:near, _gethimem:near, _lomemsize:near
- extrn _himemsize:near, _ret:near, _exit:near, _getirqmask:near
- extrn _setirqmask:near, _rmpmirqset:near, _rmpmirqfree:near
- extrn _getselector:near, _freeselector:near
-
- ; Convert physical pointer to realative pointer
- @rlp macro reg, ptr
- mov ®,&ptr
- sub ®,_code32a
- endm
-
- ; Convert realative pointer to physical pointer
- @php macro reg, ptr
- mov ®,&ptr
- add ®,_code32a
- endm
-
- ; Output a byte to DX
- @outb macro val
- mov al,&val
- out dx,al
- endm
-
- ; Output a word to DX
- @outw macro val
- mov ax,&val
- out dx,ax
- endm
-
- ; Get interrupt flag status
- @gif macro
- mov ax,902h
- int 31h
- endm
-
- ; Get interrupt flag status and clear
- @gifc macro
- mov ax,900h
- int 31h
- endm
-
- ; Get interrupt flag status and set
- @gifs macro
- mov ax,901h
- int 31h
- endm
-
- ; Get interrupt flag status and set to AL (0=clear, 1=set)
- @gifal macro
- mov ah,9
- int 31h
- endm
-
- @DBG macro r,g,b
- push ax dx
- mov dx,3c8h
- xor al,al
- out dx,al
- inc edx
- mov al,&r
- out dx,al
- mov al,&g
- out dx,al
- mov al,&b
- out dx,al
- pop dx ax
- endm
-
-